package com.iscas.dataaggregation.mapper.clickhouse;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.iscas.dataaggregation.domain.experiment.OtelLogs;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.Date;
import java.util.List;

/**
* @author mj
* @description 针对表【otel_logs】的数据库操作Mapper
* @createDate 2024-11-24 16:13:49
* @Entity generator.domain.OtelLogs
*/
@Mapper
public interface OtelLogsMapper extends BaseMapper<OtelLogs> {

    /**
     * 根据开始时间和结束时间查询日志信息
     *
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return 查询到的日志列表
     */
    @Select("SELECT * FROM otel_logs WHERE Timestamp >= #{startTime} AND Timestamp <= #{endTime}")
    List<OtelLogs> findLogsByTimeRange(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 根据时间范围和服务名查询日志信息
     *
     * @param startTime  开始时间
     * @param endTime    结束时间
     * @param serviceName 服务名
     * @return 查询到的日志列表
     */
    @Select("SELECT * FROM otel_logs WHERE Timestamp >= #{startTime} AND Timestamp <= #{endTime} AND ServiceName = #{serviceName}")
    List<OtelLogs> findLogsByParams(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("serviceName") String serviceName);
}




